@风铃
2年前 提问
1个回答

SDL将软件安全开发生命周期划分为哪几个阶段

007bug
2年前

SDL将软件安全开发生命周期划分为以下个阶段:

  1. 培训:针对开发团队和高层进行安全意识与能力的培训,使之了解安全基础知识以及安全方面的最新趋势,同时能针对新的安全问题与形势持续提升团队的能力。

  2. 需求:在软件开发初始阶段,确定软件安全需要遵循的安全标准和相关要求,建立安全和隐私要求的最低可接受级别。

  3. 设计:设计阶段要从安全性的角度定义软件的总体结构。通过分析攻击面,设计相应的功能和策略,降低并减少不必要的安全风险,同时通过威胁建模,分析软件或系统的安全威胁,提出缓解措施。

  4. 实施:按照设计要求,对软件进行编码和集成,实现相应的安全功能、策略以及缓解措施。在该阶段通过安全编码和禁用不安全的API,可以减少实现时导致的安全问题和编码引入的安全漏洞,并通过代码静态分析等措施来确保安全编码规范的实施。

  5. 验证:通过动态分析和安全测试手段,检测软件的安全漏洞,全面核查攻击面,检查各个关键因素上的威胁缓解措施是否得以正确实现。

  6. 发布:建立可持续的安全维护响应计划,对软件进行最终安全核查。本阶段应将所有相关信息和数据存档,以便对软件进行发布与维护。这些信息和数据包括所有规范、源代码、二进制文件、专用符号、威胁模型、文档、应急响应计划等。

  7. 响应:响应安全事件与漏洞报告,实施漏洞修复和应急响应。同时发现新的问题与安全问题模式,并将它们用于SDL的持续改进过程中。